<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~     http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->

<section>
  <mat-spinner *ngIf="isLoading"></mat-spinner>
  <section *ngIf="!isLoading">
    <a
      mat-button
      color="accent"
      [routerLink]="['../../..', 'resources', resourceName]"
    >
      Other Partitions
    </a>

    <hi-key-value-pairs *ngIf="!isLoading" [obj]="resourceOnInstance">
      <hi-key-value-pair name="Session ID" prop="sessionId"></hi-key-value-pair>
      <hi-key-value-pair
        name="State Model"
        prop="stateModelDef"
      ></hi-key-value-pair>
      <hi-key-value-pair
        name="State Model Factory Name"
        prop="stateModelFactoryName"
      ></hi-key-value-pair>
    </hi-key-value-pairs>

    <ngx-datatable
      #partitionsTable
      class="material"
      [headerHeight]="rowHeight"
      rowHeight="auto"
      columnMode="force"
      [rows]="resourceOnInstance.partitions"
      [sorts]="sorts"
    >
      <ngx-datatable-column name="Partition" prop="name"></ngx-datatable-column>
      <ngx-datatable-column
        name="Current State"
        [width]="120"
        [canAutoResize]="false"
      >
        <ng-template let-row="row" ngx-datatable-cell-template>
          <span [matTooltip]="row.info">
            <hi-state-label [state]="row.currentState"></hi-state-label>
          </span>
        </ng-template>
      </ngx-datatable-column>
    </ngx-datatable>
  </section>
</section>
